Skip to content
main
Switch branches/tags
jam0001/pancake/
jam0001/pancake/

Latest commit

* Initial commit

* Initial stuff

* Wiring complete

* Fixed parcel run

* Implemented protocol

* Document interpreter

* added send

* UI improvements

* Added editor and basic completion

* Editor work

* chore(runtime): basic setup with Elm

* chore(runtime): include universe information with every instruction

* chore(runtime): basic port API

* refactor(runtime): better AST

* refactor(runtime): improve Ops and Runtime

* feat(parser): parsing of simple instructions

* refactor(runtime): cleanup and simplify

* style(runtime/Core): annotate helper as Executioner

* feat(parser): attempt at identifier parser and whole program parser

* fix(parser): improve instruction parsing

* feat(Parser): parse Label

* feat(runtime): respond with a proper compilation result as per protocol

* feat(runtime): improve runtime by decoupling AST.Atom from Core.Value

* feat(runtime): exchange runtime state info at every step

* fix(runtime): replace labels intsead of filtering them out

* fix(runtime): fix exchange value encoding

* refactor(runtime): minor changes to eliminate warnings

* chore(runtime): unignore pancake.js

* Stack dev work

* feat(runtime): functions work now

* First integration

* feat(runtime): flip works

* Added reset and improved state machine

* feat(runtime): add {-} and exit

* fix(runtime): exit -> halt

* added color flipping

* feat(runtime): flip_if

* Added readme info removed io

* changed default program

* fix(runtime): binop order

* Added github pages url

* Fixed underscore

Co-authored-by: Holly <holly@dejawu.me>
Co-authored-by: Kyle Brown <kyleb@liquidrocketry.com>
Co-authored-by: Viktor A. Rozenko Voitenko <sharp.vik@gmail.com>
Co-authored-by: alek_martir <alekmartir@gmail.com>
c3ab51c

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
css
 
 
elm
 
 
js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Pancake

The pancake programming language is a stack machine language with the following characteristics.

  • There are two instruction streams: commented and un-commented.
  • Users can conditionally (flip_if) or unconditionally (flip) switch between them.
  • The execution continues from the beginning when it reaches the end.

Try our demo here!

Build

To build and run the pancake development environment perform the following.

  1. Install node and npm
  2. Run npm install
  3. Run npm run dev
  4. Visit http://localhost:1234

Instructions

  • Push number (e.g. 1, 2)
  • Add (+)
  • Less Than (<)
  • Flip (flip)
  • Flip If (flip_if)
  • Halt (halt)